home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cato / Xm / XmDrawnButton.z / XmDrawnButton
Text File  |  1998-10-20  |  33KB  |  463 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn - The DrawnButton widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXXmmmm////DDDDrrrraaaawwwwnnnnBBBB....hhhh>>>>
  13.  
  14.  
  15.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  16.           This page documents version 1.2 of the Motif library.
  17.  
  18.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.           The DrawnButton widget consists of an empty widget window
  20.           surrounded by a shadow border.  It provides the application
  21.           developer with a graphics area that can have PushButton
  22.           input semantics.
  23.  
  24.           Callback types are defined for widget exposure and widget
  25.           resize to allow the application to redraw or reposition its
  26.           graphics.  If the DrawnButton widget has a highlight and
  27.           shadow thickness, the application should not draw in that
  28.           area.  To avoid drawing in the highlight and shadow area,
  29.           create the graphics context with a clipping rectangle for
  30.           drawing in the widget.  The clipping rectangle should take
  31.           into account the size of the widget's highlight thickness
  32.           and shadow.
  33.  
  34.         CCCCllllaaaasssssssseeeessss
  35.           DrawnButton inherits behavior and resources from CCCCoooorrrreeee,
  36.           XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee, and XXXXmmmmLLLLaaaabbbbeeeellll Classes.
  37.  
  38.           The class pointer is xxxxmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnnWWWWiiiiddddggggeeeettttCCCCllllaaaassssssss.
  39.  
  40.           The class name is XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn.
  41.  
  42.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  43.           The following table defines a set of widget resources used
  44.           by the programmer to specify data.  The programmer can also
  45.           set the resource values for the inherited classes to set
  46.           attributes for this widget.  To reference a resource by name
  47.           or by class in a .Xdefaults file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  48.           prefix and use the remaining letters.  To specify one of the
  49.           defined values for a resource in a .Xdefaults file, remove
  50.           the XXXXmmmm prefix and use the remaining letters (in either
  51.           lowercase or uppercase, but include any underscores between
  52.           words).  The codes in the access column indicate if the
  53.           given resource can be set at creation time (C), set by using
  54.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  55.           not applicable (N/A).
  56.  
  57.                                      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  58.  
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  71.  
  72.  
  73.  
  74.      NNNNaaaammmmeeee                   CCCCllllaaaassssssss                  TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt              AAAAcccccccceeeessssssss
  75.      __________________________________________________________________________________________
  76.      XmNactivateCallback    XmCCallback            XtCallbackList   NULL                 C
  77.      XmNarmCallback         XmCCallback            XtCallbackList   NULL                 C
  78.      XmNdisarmCallback      XmCCallback            XtCallbackList   NULL                 C
  79.      XmNexposeCallback      XmCCallback            XtCallbackList   NULL                 C
  80.      XmNmultiClick          XmCMultiClick          unsigned char    dynamic              CSG
  81.      XmNpushButtonEnabled   XmCPushButtonEnabled   Boolean          False                CSG
  82.      XmNresizeCallback      XmCCallback            XtCallbackList   NULL                 C
  83.      XmNshadowType          XmCShadowType          unsigned char    XmSHADOW_ETCHED_IN   CSG
  84.  
  85.  
  86.           XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  87.                     Specifies the list of callbacks that is called
  88.                     when the widget becomes selected.  The reason sent
  89.                     by the callback is XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.
  90.  
  91.           XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  92.                     Specifies the list of callbacks that is called
  93.                     when the widget becomes armed.  The reason sent by
  94.                     the callback is XXXXmmmmCCCCRRRR____AAAARRRRMMMM.
  95.  
  96.           XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  97.                     Specifies the list of callbacks that is called
  98.                     when the widget becomes disarmed.  The reason sent
  99.                     by the callback is XXXXmmmmCCCCRRRR____DDDDIIIISSSSAAAARRRRMMMM.
  100.  
  101.           XXXXmmmmNNNNeeeexxxxppppoooosssseeeeCCCCaaaallllllllbbbbaaaacccckkkk
  102.                     Specifies the list of callbacks that is called
  103.                     when the widget receives an exposure event.  The
  104.                     reason sent by the callback is XXXXmmmmCCCCRRRR____EEEEXXXXPPPPOOOOSSSSEEEE.
  105.  
  106.           XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk
  107.                     If a button click is followed by another button
  108.                     click within the time span specified by the
  109.                     display's multi-click time, and this resource is
  110.                     set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, do not process the
  111.                     second click.  If this resource is set to
  112.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, process the event and increment
  113.                     _c_l_i_c_k__c_o_u_n_t in the callback structure.  When the
  114.                     button is not in a menu, the default value is
  115.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  116.  
  117.           XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd
  118.                     Enables or disables the three-dimensional shadow
  119.                     drawing as in PushButton.
  120.  
  121.           XXXXmmmmNNNNrrrreeeessssiiiizzzzeeeeCCCCaaaallllllllbbbbaaaacccckkkk
  122.                     Specifies the list of callbacks that is called
  123.                     when the widget receives a resize event.  The
  124.                     reason sent by the callback is XXXXmmmmCCCCRRRR____RRRREEEESSSSIIIIZZZZEEEE.  The
  125.                     event returned for this callback is NULL.
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  137.  
  138.  
  139.  
  140.           XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee
  141.                     Describes the drawing style for the DrawnButton.
  142.                     This resource can have the following values:
  143.  
  144.  
  145.                       +o  XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____IIIINNNN-draws the DrawnButton so that the
  146.                          shadow appears inset.  This means that the
  147.                          bottom shadow visuals and top shadow visuals
  148.                          are reversed.
  149.  
  150.                       +o  XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____OOOOUUUUTTTT-draws the DrawnButton so that
  151.                          the shadow appears outset.
  152.  
  153.                       +o  XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____EEEETTTTCCCCHHHHEEEEDDDD____IIIINNNN-draws the DrawnButton
  154.                          using a double line.  This gives the effect
  155.                          of a line etched into the window.  The
  156.                          thickness of the double line is equal to the
  157.                          value of XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss.
  158.  
  159.                       +o  XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____EEEETTTTCCCCHHHHEEEEDDDD____OOOOUUUUTTTT-draws the DrawnButton
  160.                          using a double line.  This gives the effect
  161.                          of a line coming out of the window.  The
  162.                          thickness of the double line is equal to the
  163.                          value of XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss.
  164.  
  165.  
  166.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  167.           DrawnButton inherits behavior and resources from the
  168.           following superclasses.  For a complete description of each
  169.           resource, refer to the man page for that superclass.
  170.  
  171.                                                 XXXXmmmmLLLLaaaabbbbeeeellll RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  172.      NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                  AAAAcccccccceeeessssssss
  173.      ___________________________________________________________________________________________________________
  174.      XmNaccelerator              XmCAccelerator              String              NULL                     N/A
  175.      XmNacceleratorText          XmCAcceleratorText          XmString            NULL                     N/A
  176.      XmNalignment                XmCAlignment                unsigned char       dynamic                  CSG
  177.      XmNfontList                 XmCFontList                 XmFontList          dynamic                  CSG
  178.      XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP     CSG
  179.      XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP     CSG
  180.      XmNlabelString              XmCXmString                 XmString            "\0"                     CSG
  181.      XmNlabelType                XmCLabelType                unsigned char       XmSTRING                 CSG
  182.      XmNmarginBottom             XmCMarginBottom             Dimension           0                        CSG
  183.      XmNmarginHeight             XmCMarginHeight             Dimension           2                        CSG
  184.      XmNmarginLeft               XmCMarginLeft               Dimension           0                        CSG
  185.      XmNmarginRight              XmCMarginRight              Dimension           0                        CSG
  186.      XmNmarginTop                XmCMarginTop                Dimension           0                        CSG
  187.      XmNmarginWidth              XmCMarginWidth              Dimension           2                        CSG
  188.      XmNmnemonic                 XmCMnemonic                 KeySym              NULL                     N/A
  189.      XmNmnemonicCharSet          XmCMnemonicCharSet          String              XmFONTLIST_DEFAULT_TAG   N/A
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  203.  
  204.  
  205.  
  206.      XmNrecomputeSize            XmCRecomputeSize            Boolean             True                     CSG
  207.      XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                  CSG
  208.  
  209.                                          XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  210.      NNNNaaaammmmeeee                    CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  211.      ________________________________________________________________________________________________
  212.      XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
  213.      XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
  214.      XmNforeground           XmCForeground           Pixel              dynamic                CSG
  215.      XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
  216.      XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
  217.      XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
  218.      XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
  219.      XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
  220.      XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
  221.      XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
  222.      XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
  223.      XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
  224.      XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
  225.      XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
  226.      XmNuserData             XmCUserData             XtPointer          NULL                   CSG
  227.  
  228.                                                    CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  229.      NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  230.      ______________________________________________________________________________________________________________
  231.      XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  232.      XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  233.      XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  234.      XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  235.      XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  236.      XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  237.      XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  238.      XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  239.      XmNdepth                        XmCDepth                        int              dynamic                CG
  240.      XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  241.      XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  242.      XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  243.      XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  244.      XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  245.      XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  246.      XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  247.      XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  248.      XmNx                            XmCPosition                     Position         0                      CSG
  249.      XmNy                            XmCPosition                     Position         0                      CSG
  250.  
  251.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  252.           A pointer to the following structure is passed to each
  253.           callback:
  254.  
  255.           ttttyyyyppppeeeeddddeeeeffff ssssttttrrrruuuucccctttt
  256.           {{{{
  257.             iiiinnnntttt      _r_e_a_s_o_n;;;;
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  269.  
  270.  
  271.  
  272.             XXXXEEEEvvvveeeennnntttt   * _e_v_e_n_t;;;;
  273.             WWWWiiiinnnnddddoooowwww   _w_i_n_d_o_w;;;;
  274.             iiiinnnntttt      _c_l_i_c_k__c_o_u_n_t;;;;
  275.           }}}} XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnnCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt;;;;
  276.  
  277.  
  278.           _r_e_a_s_o_n Indicates why the callback was invoked.
  279.  
  280.           _e_v_e_n_t  Points to the XXXXEEEEvvvveeeennnntttt that triggered the callback.
  281.                  This is  NULL for XXXXmmmmNNNNrrrreeeessssiiiizzzzeeeeCCCCaaaallllllllbbbbaaaacccckkkk.
  282.  
  283.           _w_i_n_d_o_w Is set to the window ID in which the event occurred.
  284.  
  285.           _c_l_i_c_k__c_o_u_n_t
  286.                  Contains the number of clicks in the last multiclick
  287.                  sequence if the XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk resource is set to
  288.                  XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, otherwise it contains 1111.  The
  289.                  activate callback is invoked for each click if
  290.                  XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  291.  
  292.  
  293.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  294.           XmDrawnButton includes translations from Primitive.
  295.           Additional XmDrawnButton translations are listed below.
  296.           These translations may not directly correspond to a
  297.           translation table.
  298.  
  299.           BBBBSSSSeeeelllleeeecccctttt PPPPrrrreeeessssssss:::: AAAArrrrmmmm(((())))
  300.           BBBBSSSSeeeelllleeeecccctttt CCCClllliiiicccckkkk:::: AAAAccccttttiiiivvvvaaaatttteeee(((())))
  301.                          DDDDiiiissssaaaarrrrmmmm(((())))
  302.           BBBBSSSSeeeelllleeeecccctttt RRRReeeelllleeeeaaaasssseeee::::AAAAccccttttiiiivvvvaaaatttteeee(((())))
  303.                          DDDDiiiissssaaaarrrrmmmm(((())))
  304.           BBBBSSSSeeeelllleeeecccctttt PPPPrrrreeeessssssss 2222++++::::MMMMuuuullllttttiiiiAAAArrrrmmmm(((())))
  305.           BBBBSSSSeeeelllleeeecccctttt RRRReeeelllleeeeaaaasssseeee 2222++++::::MMMMuuuullllttttiiiiAAAAccccttttiiiivvvvaaaatttteeee(((())))
  306.           KKKKSSSSeeeelllleeeecccctttt::::       AAAArrrrmmmmAAAAnnnnddddAAAAccccttttiiiivvvvaaaatttteeee(((())))
  307.           KKKKHHHHeeeellllpppp::::         HHHHeeeellllpppp(((())))
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  335.  
  336.  
  337.  
  338.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  339.           The XmDrawnButton action routines are described below:
  340.  
  341.  
  342.           AAAAccccttttiiiivvvvaaaatttteeee(((()))):
  343.                     If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, redraws the
  344.                     shadow in the unselected state; otherwise, redraws
  345.                     the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  If the
  346.                     pointer is within the DrawnButton, calls the
  347.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  348.  
  349.           AAAArrrrmmmm(((()))):    If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, redraws the
  350.                     shadow in the selected state; otherwise, redraws
  351.                     the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  Calls the
  352.                     callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  353.  
  354.           AAAArrrrmmmmAAAAnnnnddddAAAAccccttttiiiivvvvaaaatttteeee(((()))):
  355.                     If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, redraws the
  356.                     shadow in the selected state; otherwise, redraws
  357.                     the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  Calls the
  358.                     callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  359.  
  360.                     Arranges for the following to happen, either
  361.                     immediately or at a later time:  If
  362.                     XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, the shadow is
  363.                     redrawn in the unselected state; otherwise, the
  364.                     shadow is redrawn according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  The
  365.                     callbacks for XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk and
  366.                     XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk are called.
  367.  
  368.           DDDDiiiissssaaaarrrrmmmm(((()))): Marks the DrawnButton as unselected and calls the
  369.                     callbacks for XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  370.  
  371.           HHHHeeeellllpppp(((()))):   Calls the callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any
  372.                     exist.  If there are no help callbacks for this
  373.                     widget, this action calls the help callbacks for
  374.                     the nearest ancestor that has them.
  375.  
  376.           MMMMuuuullllttttiiiiAAAAccccttttiiiivvvvaaaatttteeee(((()))):
  377.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  378.                     action does nothing.
  379.  
  380.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action
  381.                     does the following:  Increments _c_l_i_c_k__c_o_u_n_t in the
  382.                     callback structure.  If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is
  383.                     True, redraws the shadow in the unselected state;
  384.                     otherwise, redraws the shadow according to
  385.                     XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  If the pointer is within the
  386.                     DrawnButton,  calls the XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  387.                     callbacks.  Calls the callbacks for
  388.                     XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  389.  
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 4/30/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  401.  
  402.  
  403.  
  404.           MMMMuuuullllttttiiiiAAAArrrrmmmm(((()))):
  405.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  406.                     action does nothing.
  407.  
  408.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action
  409.                     does the following:  If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is
  410.                     True, redraws the shadow in the selected state;
  411.                     otherwise, redraws the shadow according to
  412.                     XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  Calls the callbacks for
  413.                     XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  414.  
  415.  
  416.         AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr
  417.           This widget has the additional behavior described below:
  418.  
  419.  
  420.           <<<<EEEEnnnntttteeeerrrrWWWWiiiinnnnddddoooowwww>>>>:
  421.                     Draws the shadow in its selected state if
  422.                     XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True and if the cursor
  423.                     leaves and re-enters the window while BBBBSSSSeeeelllleeeecccctttt is
  424.                     pressed.
  425.  
  426.           <<<<LLLLeeeeaaaavvvveeeeWWWWiiiinnnnddddoooowwww>>>>:
  427.                     Draws the shadow in its unselected state if
  428.                     XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True and if the cursor
  429.                     leaves the window while BBBBSSSSeeeelllleeeecccctttt is pressed.
  430.  
  431.  
  432.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  433.           The bindings for virtual keys are vendor specific.  For
  434.           information about bindings for virtual buttons and keys, see
  435.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((3333XXXX)))).
  436.  
  437.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  438.           CCCCoooorrrreeee((((3333XXXX)))), XXXXmmmmCCCCrrrreeeeaaaatttteeeeDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn, XXXXmmmmLLLLaaaabbbbeeeellll((((3333XXXX)))), XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee((((3333XXXX)))),
  439.           XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn, and XXXXmmmmSSSSeeeeppppaaaarrrraaaattttoooorrrr((((3333XXXX)))).
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 4/30/98)
  460.  
  461.  
  462.  
  463.